module d_ff (D_in, Q_out, reset, clock);
 output Q_out;
 input  D_in, reset, clock;
 reg    Q_out;

 always @ (posedge clock or posedge reset)
 if (reset) Q_out <= 1'b0; else 
 begin
 Q_out <= D_in;
 end

endmodule
